package LeetCode热题HOT100;

import java.util.HashSet;
import java.util.Set;

public class p128最长连续序列 {
    public int longestConsecutive(int[] nums) {
        //哈希表
        Set<Integer> set=new HashSet<>();
        for(int num:nums) {
            set.add(num);
        }
        int longestLen=0;
        for (int num:set) {
            //枚举的num 一定是在set中不存在num-1，这样就可以找到连续序列的最小值
            if (!set.contains(num-1)) {
                //如果 num-1 不存在于set中,进入if
                int curNum=num;
                int curLen=1;

                while (set.contains(curNum+1)) {
                    curNum += 1;
                    curLen += 1;
                }
                longestLen=Math.max(curLen,longestLen);
            }
        }

        return longestLen;
    }
}
